package com.china08.yxyapi.repository.db.marker;

import java.util.List;

import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.data.jpa.repository.JpaRepository;

import com.china08.yxyapi.entity.db.maker.YxyMakerWorks;

public interface YxyMakerWorksRepository extends JpaRepository<YxyMakerWorks, String> {

    Integer countBySchoolIdAndCatalog1AndCatalog2(String schoolId, String catalog1, String catalog2);

    Page<YxyMakerWorks> findBySchoolIdAndNameLike(String schoolId, String keyword, Pageable pageable);

    Page<YxyMakerWorks> findBySchoolId(String schoolId, Pageable pageable);

    Page<YxyMakerWorks> findBySchoolIdAndPhaseAndNameLike(String schoolId, String phase, String keyword,
            Pageable pageable);

    Page<YxyMakerWorks> findBySchoolIdAndPhase(String schoolId, String phase, Pageable pageable);

    Page<YxyMakerWorks> findBySchoolIdAndPhaseAndCatalog1AndNameLike(String schoolId, String phase, String catalog1,
            String keyword, Pageable pageable);

    Page<YxyMakerWorks> findBySchoolIdAndPhaseAndCatalog1(String schoolId, String phase, String catalog1,
            Pageable pageable);

    Page<YxyMakerWorks> findBySchoolIdAndPhaseAndCatalog1AndCatalog2AndNameLike(String schoolId, String phase,
            String catalog1, String catalog2, String keyword, Pageable pageable);

    Page<YxyMakerWorks> findBySchoolIdAndPhaseAndCatalog1AndCatalog2(String schoolId, String phase, String catalog1,
            String catalog2, Pageable pageable);

    Page<YxyMakerWorks> findBySchoolIdAndPhaseAndCatalog1AndCatalog2AndDistrictCode(String schoolId, String phase,
            String catalog1, String catalog2, String code, Pageable pageable);

    Page<YxyMakerWorks> findBySchoolIdAndPhaseAndCatalog1AndCatalog2AndDistrictCodeAndNameLike(String schoolId,
            String phase, String catalog1, String catalog2, String code, String keyword, Pageable pageable);

    Page<YxyMakerWorks> findBySchoolIdAndPhaseAndCatalog1AndDistrictCode(String schoolId, String phase, String catalog1,
            String code, Pageable pageable);

    Page<YxyMakerWorks> findBySchoolIdAndPhaseAndCatalog1AndDistrictCodeAndNameLike(String schoolId, String phase,
            String catalog1, String code, String keyword, Pageable pageable);

    Page<YxyMakerWorks> findBySchoolIdAndPhaseAndDistrictCodeAndNameLike(String schoolId, String phase, String code,
            String keyword, Pageable pageable);

    Page<YxyMakerWorks> findBySchoolIdAndPhaseAndDistrictCode(String schoolId, String phase, String code,
            Pageable pageable);

    Page<YxyMakerWorks> findBySchoolIdAndDistrictCodeAndNameLike(String schoolId, String code, String keyword,
            Pageable pageable);

    Page<YxyMakerWorks> findBySchoolIdAndDistrictCode(String schoolId, String code, Pageable pageable);

    Integer countBySchoolIdAndCatalog1AndPhase(String schoolId, String pId, String phase);

    Integer countBySchoolIdAndCatalog2(String schoolId, String id);

    List<YxyMakerWorks> findByWorkmd5(String md5);

    List<YxyMakerWorks> findByRegistermd5(String md5);

    Page<YxyMakerWorks> findByNameLike(String string, Pageable pageable);

    Page<YxyMakerWorks> findByDistrictCodeAndNameLike(String code, String string, Pageable pageable);

    Page<YxyMakerWorks> findByDistrictCode(String code, Pageable pageable);

    Page<YxyMakerWorks> findByPhaseAndNameLike(String phase, String string, Pageable pageable);

    Page<YxyMakerWorks> findByPhase(String phase, Pageable pageable);

    Page<YxyMakerWorks> findByPhaseAndDistrictCodeAndNameLike(String phase, String code, String string,
            Pageable pageable);

    Page<YxyMakerWorks> findByPhaseAndDistrictCode(String phase, String code, Pageable pageable);

    Page<YxyMakerWorks> findByPhaseAndCatalog1AndNameLike(String phase, String catalog1, String string,
            Pageable pageable);

    Page<YxyMakerWorks> findByPhaseAndCatalog1(String phase, String catalog1, Pageable pageable);

    Page<YxyMakerWorks> findByPhaseAndCatalog1AndDistrictCodeAndNameLike(String phase, String catalog1, String code,
            String string, Pageable pageable);

    Page<YxyMakerWorks> findByPhaseAndCatalog1AndDistrictCode(String phase, String catalog1, String code,
            Pageable pageable);

    Page<YxyMakerWorks> findByPhaseAndCatalog1AndCatalog2AndNameLike(String phase, String catalog1, String catalog2,
            String string, Pageable pageable);

    Page<YxyMakerWorks> findByPhaseAndCatalog1AndCatalog2(String phase, String catalog1, String catalog2,
            Pageable pageable);

    Page<YxyMakerWorks> findByPhaseAndCatalog1AndCatalog2AndDistrictCodeAndNameLike(String phase, String catalog1,
            String catalog2, String code, String string, Pageable pageable);

    Page<YxyMakerWorks> findByPhaseAndCatalog1AndCatalog2AndDistrictCode(String phase, String catalog1, String catalog2,
            String code, Pageable pageable);

}